1.private:只能在類內部訪問,無法在類外部直接存取。
2. public:可以在任何地方訪問,沒有限制。
3. protected:可以在同一包內或子類中訪問,但在其他包的類中無法直接訪問。
#Getter和Setter方法:
Getter:用於讀取私有屬性的值。
Setter:用於修改私有屬性的值,通常會加入資料驗證。
實作範例:
// 定義一個類別 Person
class Person {
// 私有屬性
private String name;
private int age;
// 公有的 Getter 方法
public String getName() {
return name;
}
// 公有的 Setter 方法
public void setName(String name) {
this.name = name;
}
// 公有的 Getter 方法
public int getAge() {
return age;
}
// 公有的 Setter 方法
public void setAge(int age) {
// 確保年齡不為負數
if (age >= 0) {
this.age = age;
} else {
System.out.println("Age cannot be negative.");
}
}
}
// 主類別
public class Main {
public static void main(String[] args) {
// 創建物件
Person person = new Person();
// 使用 Setter 方法設定屬性
person.setName("Alice");
person.setAge(25);
// 使用 Getter 方法獲取屬性值
System.out.println("Name: " + person.getName()); // 輸出:Name: Alice
System.out.println("Age: " + person.getAge()); // 輸出:Age: 25
// 測試年齡設定
person.setAge(-5); // 輸出:Age cannot be negative.
}
}
說明:
類別定義:Person 類別中包含 name和age兩個私有屬性。
Getter 和 Setter:提供公有的 getName()、setName()、getAge()和 setAge()方法來存取和修改私有屬性。
資料驗證:在 setAge()方法中,加入了年齡不能為負數的驗證。
主類別:在 main方法中創建 Person 物件,使用 Getter 和 Setter 方法來訪問和修改屬性。